package com.tbit.main.pojo.maintain_performance.stat;

import cn.hutool.core.util.StrUtil;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 绩效总览数据请求参数
 *
 * @author <a href="mailto:zheng.zebiao@tbit.com.cn">zb</a>
 * @since 2025/2/26
 */
@Data
public class PerformanceOverviewReq {
    /**
     * 区域id
     */
    @NotNull(message = "区域id不能为空")
    private Integer accountId;
    /**
     * 开始时间
     */
    @NotNull(message = "开始时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate startTime;
    /**
     * 结束时间
     */
    @NotNull(message = "结束时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate endTime;
    /**
     * 车辆类型
     * 0-电单车 1-自行车
     */
    private Integer machineType;
    /**
     * 运营分区id列表，逗号分隔
     */
    private String regionIds;
    /**
     * 审核状态
     * 0-无效 1-有效 2-审核中
     */
    private Integer isValid;

    /**B端用户Id*/
    private Integer accountUserId;

    public List<Integer> getRegionIdList() {
        return StrUtil.isEmpty(regionIds) ?
                Collections.emptyList() :
                Arrays.stream(regionIds.split(","))
                        .map(Integer::parseInt)
                        .collect(Collectors.toList());
    }
}
